fix block tree not firing
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
This commit is contained in:
parent
a1eb17cb51
commit
ef8b070c88
@ -96,9 +96,6 @@
|
||||
"offset": [0, 0, 0.15]
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemBlockData": {
|
||||
|
||||
},
|
||||
"equipData": {
|
||||
"equipClass" : "weapon2H"
|
||||
|
||||
@ -1156,7 +1156,7 @@ Convert PhysicsEntityUtils to use generic interface to load tri geom rigid bodie
|
||||
Fix winding order on block meshes
|
||||
Add texture atlasing to blocks
|
||||
|
||||
(!1/25/2024)
|
||||
(11/25/2024)
|
||||
Remove unused import
|
||||
Geometry mesh generation class
|
||||
Cloud shader
|
||||
@ -1164,6 +1164,9 @@ VisualShader refactoring
|
||||
VisualShader #include macro implementation
|
||||
Fix particles not spawning in correct positions
|
||||
|
||||
(11/28/2024)
|
||||
Fix block not firing
|
||||
|
||||
|
||||
# TODO
|
||||
|
||||
|
||||
@ -423,7 +423,7 @@ public class ServerEquipState implements BehaviorTree {
|
||||
BlockSystem blockData = blockTree.getBlockSystem();
|
||||
for(EquipPoint point : pointsThatCanBlock){
|
||||
Entity item = getEquippedItemAtPoint(point.getEquipPointId());
|
||||
if(item != null && Globals.gameConfigCurrent.getItemMap().getItem(item) != null && Globals.gameConfigCurrent.getItemMap().getItem(item).getItemBlockData() != null){
|
||||
if(item != null && Globals.gameConfigCurrent.getItemMap().getItem(item) != null && Globals.gameConfigCurrent.getItemMap().getItem(item).getBlockSystem() != null){
|
||||
BlockVariant blockVariant = blockData.getVariantForPointWithItem(point.getEquipPointId(),ItemUtils.getEquipClass(item));
|
||||
|
||||
//TODO: refactor to allow sending more than one variant at a time
|
||||
|
||||
@ -15,7 +15,6 @@ import electrosphere.game.data.creature.type.block.BlockVariant;
|
||||
import electrosphere.game.data.creature.type.equip.EquipPoint;
|
||||
import electrosphere.game.data.creature.type.equip.ToolbarData;
|
||||
import electrosphere.game.data.item.EquipWhitelist;
|
||||
import electrosphere.logger.LoggerInterface;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -234,7 +233,7 @@ public class ServerToolbarState implements BehaviorTree {
|
||||
}
|
||||
|
||||
BlockSystem blockData = blockTree.getBlockSystem();
|
||||
if(selectedItemEntity != null && Globals.gameConfigCurrent.getItemMap().getItem(selectedItemEntity) != null && Globals.gameConfigCurrent.getItemMap().getItem(selectedItemEntity).getItemBlockData() != null){
|
||||
if(selectedItemEntity != null && Globals.gameConfigCurrent.getItemMap().getItem(selectedItemEntity) != null){
|
||||
BlockVariant blockVariant = blockData.getVariantForPointWithItem(targetPoint.getEquipPointId(),ItemUtils.getEquipClass(selectedItemEntity));
|
||||
|
||||
//TODO: refactor to allow sending more than one variant at a time
|
||||
@ -242,7 +241,7 @@ public class ServerToolbarState implements BehaviorTree {
|
||||
if(blockVariant != null){
|
||||
blockTree.setCurrentBlockVariant(blockVariant.getVariantId());
|
||||
} else {
|
||||
LoggerInterface.loggerEngine.ERROR(new IllegalStateException("Equipped item to equip point that does not have assigned block variant!!"));
|
||||
blockTree.setCurrentBlockVariant("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,11 +63,6 @@ public class Item extends CommonEntityType {
|
||||
*/
|
||||
ItemUsage secondaryUsage;
|
||||
|
||||
/**
|
||||
* The block data for this item
|
||||
*/
|
||||
ItemBlockData itemBlockData;
|
||||
|
||||
/**
|
||||
* Creates item data from a spawn item description
|
||||
* @param description The spawn item description
|
||||
@ -160,15 +155,6 @@ public class Item extends CommonEntityType {
|
||||
public String getClientSideSecondary(){
|
||||
return clientSideSecondary;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the block data for the item
|
||||
* @return THe block data
|
||||
*/
|
||||
public ItemBlockData getItemBlockData(){
|
||||
return this.itemBlockData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the secondary usage logic of this item
|
||||
* @return The secondary usage logic
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
package electrosphere.game.data.item;
|
||||
|
||||
/**
|
||||
* Block data for the item
|
||||
*/
|
||||
public class ItemBlockData {
|
||||
|
||||
|
||||
}
|
||||
@ -58,10 +58,10 @@ public class AIManager {
|
||||
*/
|
||||
public void simulate(){
|
||||
//exec the services
|
||||
execServices();
|
||||
this.execServices();
|
||||
|
||||
//simulate each tree
|
||||
if(isActive()){
|
||||
if(this.isActive()){
|
||||
for(AI ai : aiList){
|
||||
ai.simulate();
|
||||
}
|
||||
|
||||
@ -8,6 +8,9 @@ import electrosphere.entity.Entity;
|
||||
import electrosphere.entity.state.block.ServerBlockTree;
|
||||
import electrosphere.entity.state.equip.ServerToolbarState;
|
||||
import electrosphere.entity.types.common.CommonEntityUtils;
|
||||
import electrosphere.entity.types.creature.CreatureUtils;
|
||||
import electrosphere.game.data.creature.type.CreatureData;
|
||||
import electrosphere.game.data.creature.type.block.BlockVariant;
|
||||
import electrosphere.game.data.item.Item;
|
||||
import electrosphere.game.data.item.ItemUsage;
|
||||
import electrosphere.net.parser.net.message.InventoryMessage;
|
||||
@ -32,7 +35,22 @@ public class PlayerActions {
|
||||
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(playerEntity);
|
||||
if(serverToolbarState != null && serverToolbarState.getRealWorldItem() != null){
|
||||
Item item = Globals.gameConfigCurrent.getItemMap().getItem(serverToolbarState.getRealWorldItem());
|
||||
if(item.getBlockSystem() != null){
|
||||
CreatureData creatureData = Globals.gameConfigCurrent.getCreatureTypeLoader().getType(CreatureUtils.getType(playerEntity));
|
||||
ServerBlockTree serverBlockTree = ServerBlockTree.getServerBlockTree(playerEntity);
|
||||
|
||||
//check block status
|
||||
boolean shouldBlock = false;
|
||||
if(creatureData.getBlockSystem() != null && creatureData.getBlockSystem().getAllVariants() != null && serverBlockTree != null){
|
||||
for(BlockVariant variant : creatureData.getBlockSystem().getAllVariants()){
|
||||
if(variant.getVariantId().equals(serverBlockTree.getCurrentBlockVariant())){
|
||||
shouldBlock = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//actually perform actions
|
||||
if(shouldBlock){
|
||||
PlayerActions.block(playerEntity, message);
|
||||
} else if(item.getSecondaryUsage() != null){
|
||||
PlayerActions.secondaryUsage(playerEntity, item, message);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user