mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-23 04:32:50 -04:00
fix holdthis not converting block types, reduce some duplicated code
This commit is contained in:
parent
07166fa30b
commit
4789a22656
@ -42,7 +42,8 @@ namespace MCGalaxy.Commands.CPE {
|
||||
Player.Message(p, "Cannot hold physics blocks"); return;
|
||||
}
|
||||
|
||||
p.Send(Packet.HoldThis(Block.ToRaw(block), locked, p.hasExtBlocks));
|
||||
BlockID raw = p.ConvertBlock(block);
|
||||
p.Send(Packet.HoldThis(raw, locked, p.hasExtBlocks));
|
||||
p.Message("Set your held block to {0}.", Block.GetName(p, block));
|
||||
}
|
||||
|
||||
|
@ -219,7 +219,7 @@ namespace MCGalaxy {
|
||||
if (block >= Block.ExtendedCount) {
|
||||
model = "humanoid"; // invalid block ids
|
||||
} else {
|
||||
model = pl.level.RawFallback(block).ToString();
|
||||
model = pl.ConvertBlock(block).ToString();
|
||||
}
|
||||
}
|
||||
pl.Send(Packet.ChangeModel(id, model, pl.hasCP437));
|
||||
|
@ -143,9 +143,7 @@ namespace MCGalaxy {
|
||||
int value = origValue;
|
||||
|
||||
if (prop == EnvProp.SidesBlock || prop == EnvProp.EdgeBlock) {
|
||||
BlockID raw = Block.ToRaw((BlockID)value);
|
||||
if (raw > pl.MaxRawBlock) raw = pl.level.RawFallback((BlockID)value);
|
||||
value = raw;
|
||||
value = pl.ConvertBlock((BlockID)value);
|
||||
}
|
||||
|
||||
if (pl.Supports(CpeExt.EnvMapAspect)) {
|
||||
|
@ -265,7 +265,13 @@ namespace MCGalaxy {
|
||||
NetUtils.WriteU16(y, buffer, 3);
|
||||
NetUtils.WriteU16(z, buffer, 5);
|
||||
|
||||
BlockID raw;
|
||||
BlockID raw = ConvertBlock(block);
|
||||
NetUtils.WriteBlock(raw, buffer, 7, hasExtBlocks);
|
||||
Socket.SendLowPriority(buffer);
|
||||
}
|
||||
|
||||
public BlockID ConvertBlock(BlockID block) {
|
||||
BlockID raw;
|
||||
if (block >= Block.Extended) {
|
||||
raw = Block.ToRaw(block);
|
||||
} else {
|
||||
@ -278,11 +284,10 @@ namespace MCGalaxy {
|
||||
if (!hasBlockDefs && raw < Block.CpeCount) {
|
||||
BlockDefinition def = level.CustomBlockDefs[raw];
|
||||
if (def != null) raw = def.FallBack;
|
||||
}
|
||||
if (!hasCustomBlocks) raw = Block.ConvertCPE((BlockRaw)raw);
|
||||
}
|
||||
|
||||
NetUtils.WriteBlock(raw, buffer, 7, hasExtBlocks);
|
||||
Socket.SendLowPriority(buffer);
|
||||
if (!hasCustomBlocks) raw = Block.ConvertCPE((BlockRaw)raw);
|
||||
return raw;
|
||||
}
|
||||
|
||||
internal void CloseSocket() {
|
||||
|
@ -115,10 +115,8 @@ namespace MCGalaxy {
|
||||
|
||||
string lastUrl = "";
|
||||
public void SendCurrentTextures() {
|
||||
BlockID side = Block.ToRaw(level.Config.EdgeBlock);
|
||||
if (side > MaxRawBlock) side = level.RawFallback(level.Config.EdgeBlock);
|
||||
BlockID edge = Block.ToRaw(level.Config.HorizonBlock);
|
||||
if (edge > MaxRawBlock) edge = level.RawFallback(level.Config.HorizonBlock);
|
||||
BlockID side = ConvertBlock(level.Config.EdgeBlock);
|
||||
BlockID edge = ConvertBlock(level.Config.HorizonBlock);
|
||||
|
||||
string url = GetTextureUrl();
|
||||
if (Supports(CpeExt.EnvMapAspect)) {
|
||||
|
@ -379,11 +379,8 @@ namespace MCGalaxy {
|
||||
if (i == EnvProp.SidesBlock || i == EnvProp.EdgeBlock) {
|
||||
if (zone != null && zone.Config.GetEnvProp(i) != Block.Invalid) {
|
||||
value = zone.Config.GetEnvProp(i);
|
||||
}
|
||||
|
||||
BlockID raw = Block.ToRaw((BlockID)value);
|
||||
if (raw > MaxRawBlock) raw = level.RawFallback((BlockID)value);
|
||||
value = raw;
|
||||
}
|
||||
value = ConvertBlock((BlockID)value);
|
||||
} else {
|
||||
if (zone != null && zone.Config.GetEnvProp(i) != -1) {
|
||||
value = zone.Config.GetEnvProp(i);
|
||||
|
Loading…
x
Reference in New Issue
Block a user